Accento @ JUG


Details
17:45 Einlass
18:00 Von Maven zu Bazel, Piece by Piece (Carlo Götz)
19:00 Pause
19:15 Data-Oriented Programming in Java (Nicolai Parlog)
19:45 Pause
20:00 JUnit 5 wird 5 (Marc Philipp)
21:00 Ausklang
Von Maven zu Bazel, Piece by Piece
Wie wir einen 559 Modules Maven Build zuerst in 3 und später in 2163 Bazel Targets zerlegt haben.
Warum haben wir das gemacht? (Schnellere Builds.)
Wie sind wir vorgegangen? (Code-Generierung.)
Welche Probleme haben wir gelöst bzw. umschifft? (Viele.)
Welche Lehren können wir für Builds allgemein ableiten? (Ein paar.)
Dieser Talk zeigt, dass eine Build-System-Migration nicht als Big Bangablaufen muss und welche Unterstützung Bazel bietet, um korrekte und reproduzierbare Builds zu erstellen.
#### Carlo Götz
Carlo ist lean VB6 Entwickler. Seitdem er 2000 auf der Microsoft Developer™ Conference über "Developers, Developers, Developers" gehört hat, wusste er genau, dass Developer Synergy Accelerator (SAFe Framework certified) seine Berufung ist. Wie Schienenschweißarbeiten nach DB Ril (826.1020) beschleunigt er Agile Release Trains auf ihre maximale Geschwindigkeit, um somit Builtin Quality und Stakeholder Satisfaction auf ganzer (Bahn)linie sicherzustellen. Dadurch maximiert er nicht nur Development Value Streams, hinsichtlich ihrer KPI, sondern enabled auch On Point Value Delivery durch reduzierte Build Zeiten.
Data-Oriented Programming in Java
In Data-Oriented Programming (DOP) modelliert man Daten als Daten und polymorphes Verhalten mit Pattern Matching.
In diesem Vortrag stelle ich die vier Prinzipien von DOP vor:
- modelliere die Daten, die ganzen Daten und nichts als die Daten
- Daten sind unveränderlich
- validiere an der Systemgrenze
- mach unerwünschte Zustände nicht-repräsentierbar
Wir werden außerdem erkunden wie man Pattern Matching als sicheren, mächtigen und wartbaren Mechanismus für ad-hoc Polymorphie auf solchen Daten einsetzt ohne die Typen mit Funktonalität zu überfrachten.
Der Vortrag endet mit einer Gegenüberstellung zu OOP, damit ihr nicht nur lernt wie man DOP einsetzt sondern auch wann (nicht).
#### Nicolai Parlog
Nicolai is a thirty-year-old boy, as the narrator would put it (if he’s generous), who has found his passion in software development (mostly Java) and who codes for a living as well as for fun. He also blogs, writes, newsletters, speaks, chats, records, streams, trains, and consults about it, and organizes a conference - not all at the same time, but in prolific fits and starts with high throughput and long latencies. If you want to take the wheel, hire him for in-house trainings on new Java features, migrations to Java 9+, and JUnit 5. His home is at codefx.org.
JUnit 5 wird 5
Seit dem ersten Release von JUnit 5 im Jahr 2017 sind mittlerweile fast fünf Jahre vergangen.
Das JUnit-Team hat danach jedoch keineswegs die Arbeit eingestellt.
Im Gegenteil: Seitdem gab es neun weitere Feature-Releases. In diesem Vortrag werden wir uns nach einer kurzen Einführung in JUnit 5 auf die neuen Features der 5.x Releases konzentrieren.
Dies sind unter anderem:
- deklarative Test Suites
- JFR Events
- neue Extension Points
- überarbeiteter Support für temporäre Verzeichnisse
- Test Method/Class Execution Order
- ein neues XML Reporting-Format.
Selbstverständlich wird auch Zeit für Fragen und Feedback eurerseits vorhanden sein.
Insofern sollten JUnit 5 Anwender:innen jeglichen Erfahrungsstands etwas mitnehmen können
Marc Philipp
Marc Philipp hat mehr als 10 Jahre Erfahrung in der Entwicklung von
Software für Unternehmen und Endanwender sowie als Trainer und Coach für andere Entwickler. Bei Gradle Inc. arbeitet er an Produkten wie Test
Distribution und Predictive Test Selection mit dem Ziel, die
Produktivität von Entwickler:innen zu verbessern. Er ist seit langem
aktiver Committer und Maintainer von JUnit. Außerdem war er Mitinitiator
der Crowdfunding-Kampagne JUnit Lambda, ohne die JUnit 5 nicht existieren würde.
```
```
COVID-19 safety measures

Accento @ JUG